/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package src.j2ee.compumake.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import src.j2ee.compumake.dominio.Slot;

/************************************************************************
 **                                                                    **
 ** Nombre: DAOSlot.java                                               **
 ** Version: v1.0.0                                                    **
 ** Autor: amado.cante                                                 **
 ** Creado: 24/04/2013                                                 **
 ** Modificado:                                                        **
 ** Diagrama:                                                          **
 ** Caso de uso:                                                       **
 **                                                                    **
 ***********************************************************************/
public class DAOSlot {
    private static final String TABLA_SLOTS = "Slots";
    private static final String COLUMNA_ID_SLOT = "idSlots";
    private static final String COLUMNA_NOMBRE = "nombre";
    private Connection conexion;
    private AccesoBaseDatos acceso = new AccesoBaseDatos();
    
    public DAOSlot(){
        this.conexion = this.acceso.abrirConexion();
    }
    
    public Slot buscaSlot(int idSlot){
        try{
            Statement sentencia = acceso.crearSentenciaBD(conexion);
            String query = "SELECT * FROM "+TABLA_SLOTS+" WHERE "+COLUMNA_ID_SLOT+"='"+idSlot+"';";
            ResultSet resultado = sentencia.executeQuery(query);
            if(resultado.first()){
                String nombre = resultado.getString(2);
                Slot slot = new Slot(idSlot, nombre);
                return slot;
            }else{
                return null;
            }
        }catch(SQLException ex){
            return null;
        }
    }
    
    public ArrayList<Slot> listarSlots(){
        ArrayList<Slot> slots = new ArrayList<Slot>();
        try{
            Statement sentencia = acceso.crearSentenciaBD(conexion);
            String query = "SELECT "+COLUMNA_ID_SLOT+" FROM "+TABLA_SLOTS;
            ResultSet resultado = sentencia.executeQuery(query);
            while(resultado.next()){
                int idSlot = resultado.getInt(1);
                Slot s = this.buscaSlot(idSlot);
                slots.add(s);
            }
        }catch(SQLException ex){
            return slots;
        }
        return slots;
    }
   
}
